﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Net;
using System.IO;


namespace sccf
{
    public partial class GenerarAgenda : System.Web.UI.Page
    {
        List<RadioButtonList> ListaChecks = new List<RadioButtonList>();
        List<int> ListaIds = new List<int>();
        protected void Page_Load(object sender, EventArgs e)
        {
            string result = GenerarAgendaController.verificarFecha();
            if (result == null)
            {
                string razon = "No se Encontro ninguna sesión creada";
                Response.Redirect("NoAccess2.aspx?razon=" + razon, true);
            }
            else if (System.DateTime.Today < Convert.ToDateTime(result))
            {
                string razon = "Acceso antes de fecha permitida";
                Response.Redirect("NoAccess2.aspx?razon=" + razon, true);
            }
            else 
                AddControls();
        }
        


        private void AddControls()
        {

            //--------------------------------Puntos Nuevos------------
            List<List<string>> resultado = GenerarAgendaController.ObtenerPuntos();
            int i = 1;
            foreach (List<string> result in resultado)
            {
                ListaIds.Add(Convert.ToInt16(result[0].ToString()));
                Panel nuevo = new Panel();
                nuevo.GroupingText = "Punto&nbsp;" + i.ToString() + ". " + "&nbsp;&nbsp;" + "Enviado por:&nbsp;" + result[2].ToString();

                Panel nuevoA = new Panel();
                Panel nuevoB = new Panel();
                Panel nuevoC = new Panel();


                Label Texto1 = new Label();
                Texto1.Text = result[1].ToString();

                TextBox TextoComent = new TextBox();
                TextoComent.TextMode = TextBoxMode.MultiLine;
                TextoComent.Width = 850;
                TextoComent.Height = 30;
                
                RadioButtonList dynamicRadio1 = new RadioButtonList();
                dynamicRadio1.Items.Add("Aprobar");
                dynamicRadio1.Items.Add("Rechazar");
                dynamicRadio1.Items.Add("Posponer");
                dynamicRadio1.RepeatDirection = RepeatDirection.Horizontal;
                ListaChecks.Add(dynamicRadio1);
                

                Label titulo = new Label();
                titulo.Text = "<br>Archivos Asociados: &nbsp;";
                List<String> resultado2 = GenerarAgendaController.ObtenerDocs(Convert.ToInt16(result[0]));
                
                nuevoA.Controls.Add(Texto1);
                nuevoB.Controls.Add(titulo);
                foreach (string result2 in resultado2)
                {
                    HyperLink nombreArchivo = new HyperLink();
                    Label espacio= new Label();
                    espacio.Text= "&nbsp;&nbsp;";
                    nombreArchivo.Text = result2;
                    nombreArchivo.ForeColor = System.Drawing.Color.Blue;
                    nombreArchivo.NavigateUrl = "~/UploadedDocs/" + result2;
                    nuevoB.Controls.Add(nombreArchivo);
                    nuevoB.Controls.Add(espacio);
                }

                Label titulo2 = new Label();
                titulo2.Text = "<br>Comentario:<br>";

                Label titulo3 = new Label();
                titulo3.Text = "<br>Estado:";

                nuevoC.Controls.Add(titulo3);
                nuevoC.Controls.Add(dynamicRadio1);
                nuevoC.Controls.Add(titulo2);
                nuevoC.Controls.Add(TextoComent);


                nuevoB.Direction = ContentDirection.NotSet;
                nuevoC.Direction = ContentDirection.LeftToRight;

                nuevo.Controls.Add(nuevoA);
                nuevo.Controls.Add(nuevoB);
                nuevo.Controls.Add(nuevoC);
                nuevo.Direction = ContentDirection.LeftToRight;

                PanelPuntosAgenda.Controls.Add(nuevo);

                i++;
            }


            //-------------------Puntos Pospuestos------------------------
            List<List<string>> resultadopp = GenerarAgendaController.ObtenerPuntosPos();
            i = 1;
            foreach (List<string> result in resultadopp)
            {
                ListaIds.Add(Convert.ToInt16(result[0].ToString()));
                Panel nuevo = new Panel();
                nuevo.GroupingText = "Punto&nbsp;" + i.ToString() + ". " + "&nbsp;&nbsp;" + "Enviado por:&nbsp;" + result[2].ToString();

                Panel nuevoA = new Panel();
                Panel nuevoB = new Panel();
                Panel nuevoC = new Panel();


                Label Texto1 = new Label();
                Texto1.Text = result[1].ToString();

                TextBox TextoComent = new TextBox();
                TextoComent.TextMode = TextBoxMode.MultiLine;
                TextoComent.Width = 850;
                TextoComent.Height = 30;

                RadioButtonList dynamicRadio1 = new RadioButtonList();
                dynamicRadio1.Items.Add("Aprobar");
                dynamicRadio1.Items.Add("Rechazar");
                dynamicRadio1.Items.Add("Posponer");
                dynamicRadio1.RepeatDirection = RepeatDirection.Horizontal;
                ListaChecks.Add(dynamicRadio1);


                Label titulo = new Label();
                titulo.Text = "<br>Archivos Asociados: &nbsp;";
                List<String> resultado2 = GenerarAgendaController.ObtenerDocs(Convert.ToInt16(result[0]));

                nuevoA.Controls.Add(Texto1);
                nuevoB.Controls.Add(titulo);
                foreach (string result2 in resultado2)
                {
                    HyperLink nombreArchivo = new HyperLink();
                    Label espacio = new Label();
                    espacio.Text = "&nbsp;&nbsp;";
                    nombreArchivo.Text = result2;
                    nombreArchivo.ForeColor = System.Drawing.Color.Blue;
                    nombreArchivo.NavigateUrl = "~/UploadedDocs/" + result2;
                    nuevoB.Controls.Add(nombreArchivo);
                    nuevoB.Controls.Add(espacio);
                }

                Label titulo2 = new Label();
                titulo2.Text = "<br>Comentario:<br>";

                Label titulo3 = new Label();
                titulo3.Text = "<br>Estado:";

                nuevoC.Controls.Add(titulo3);
                nuevoC.Controls.Add(dynamicRadio1);
                nuevoC.Controls.Add(titulo2);
                nuevoC.Controls.Add(TextoComent);


                nuevoB.Direction = ContentDirection.NotSet;
                nuevoC.Direction = ContentDirection.LeftToRight;

                nuevo.Controls.Add(nuevoA);
                nuevo.Controls.Add(nuevoB);
                nuevo.Controls.Add(nuevoC);
                nuevo.Direction = ContentDirection.LeftToRight;

                PanelPuntosPospuestos.Controls.Add(nuevo);

                i++;
            }





            ViewState["controlsadded"] = true;
            









        }

       
        protected void Button_Enviar2_Click(object sender, EventArgs e)
        {
                GenerarAgendaController.Registrar(ListaChecks,ListaIds);   
        }

    }
}